---
title: SAIF.Application dependencies
summary: Internal and external dependencies for the SAIF.Application base Application-tier abstraction library.
status: draft
owner: SAIF BOF documentation team
last_reviewed: 2026-08-21
library: SAIF.Application
reference_type: embedded
---

# SAIF.Application dependencies

## Internal dependencies

None. The `SAIF.Application.vbproj` contains no `<ProjectReference>` elements, and `project.info` states only that this project is referenced *by* other libraries — it does not itself consume other in-repo projects. All in-repo consumption of SAIF.Application by other libraries (e.g., `SAIF.Application.Claim`, `SAIF.Application.Claim.Legal`) is out of scope of the Stage 1 analysis for this library and not verified here.**

No internal dependency rows apply to this library (see above).

## External dependencies

Resolved from `SAIF.Application.vbproj` `<Reference>` items and confirmed in `packages.config`.

| Dependency | Version | Usage |
| --- | --- | --- |
| SAIF.BOF.Framework (`.Bindable`, `.Connection`, `.Core`, `.DNS`, `.Logging`, `.Mail`, `.Security`, `.Security.EnvironmentApi`) | 2.0.22279.1 | Supplies `clsBusinessBase`, `clsSecurityPrincipal`, `clsDataAccess`, `IDataPortalInfo`, `IDataPortal`, `IDataAccess`, `clsSQLDataPortal`, `clsMSOracleDataPortal` — the BOF framework base classes and data-portal abstractions this library builds on. |
| SAIF.Framework.Common | 2.0.22074.3 | Referenced assembly; no direct symbol usage confirmed in scanned files.** |
| SAIF.Framework.Preferences | 1.0.20105.1 | Referenced assembly; no direct symbol usage confirmed in scanned files.** |
| SAIF.HashUtil | 2.0.22083.2 | Referenced assembly; no direct symbol usage confirmed in scanned files.** |
| SAIF.Web.API.Clients (`.Clients`, `.Core`) | 2.0.22307.1 | Referenced assembly; no direct symbol usage confirmed in scanned files.** |
| Oracle.ManagedDataAccess | 21.5.0 | Backs `ApplicationDataAccess.CreateOraclePortal` (via `clsMSOracleDataPortal`/`clsDataAccess.clsEnvironment.DBMS.Oracle`); ODP.NET provider factory registered in `Web.config`/`app.config`. |
| RestSharp | 106.12.0 | Transitive dependency of `SAIF.Web.API.Clients`; no direct symbol usage confirmed in scanned files.** |
| Newtonsoft.Json | 8.0.3 | Referenced assembly; no direct symbol usage confirmed in scanned files.** |
| Microsoft.Bcl.AsyncInterfaces, System.Buffers, System.Memory, System.Numerics.Vectors, System.Runtime.CompilerServices.Unsafe, System.Text.Encodings.Web, System.Text.Json, System.Threading.Tasks.Extensions, System.ValueTuple | various | Transitive BCL-compatibility shims pulled in by the above packages (e.g., `System.Text.Json`, `RestSharp`).* |
| System, System.Core, System.Numerics, System.Web | (framework assemblies) | Standard .NET Framework assemblies. |

## Transitive dependencies

Dependencies in this section are inherited from dependency framework libraries. They are not directly referenced by this library but are required at runtime through framework packages.

`AppManagerBase` inherits `clsBusinessBase` from `SAIF.Framework.Core` (frameworkDensity = 1 for this library, per `dependency-resolution.json`). Per cached Legends CLI RAG dependency findings for `clsBusinessBase`, the library housing `clsBusinessBase` (`SAIF.Framework.Core`) itself references sibling framework projects — several of which are already declared as direct external dependencies of SAIF.Application above (`SAIF.Framework.Security`†) — plus additional sibling projects not directly referenced by this library:

| Dependency | Source framework | Type | Usage |
| --- | --- | --- | --- |
| SAIF.Framework.Connection | `SAIF.Framework.Core` | Transitive | Referenced by the framework library that supplies `clsBusinessBase`; pulled in transitively through `SAIF.BOF.Framework` rather than declared directly by this library.† |
| SAIF.Framework.DNS | `SAIF.Framework.Core` | Transitive | Referenced by the framework library that supplies `clsBusinessBase`; pulled in transitively through `SAIF.BOF.Framework` rather than declared directly by this library.† |
| SAIF.Framework.Bindable | `SAIF.Framework.Core` | Transitive | Referenced by the framework library that supplies `clsBusinessBase`; pulled in transitively through `SAIF.BOF.Framework` rather than declared directly by this library.† |

`clsBusinessBase` also owns a `clsRulesManager` instance and is tied to the framework's V1 rules engine (no V2 `RuleManager` wiring observed in `SAIF.Framework.Core`)†, but this rules-engine dependency is internal to the framework library itself and not a separate package reference of SAIF.Application.

## Dependency risks and notes
- Six external NuGet package references (`SAIF.Framework.Common`, `SAIF.Framework.Preferences`, `SAIF.HashUtil`, `SAIF.Web.API.Clients`/`.Core`, `RestSharp`, `Newtonsoft.Json`) are declared in the `.vbproj`/`packages.config` but no direct type/member usage of them was found in this library's scanned `.vb` source files; they may be consumed only by other libraries sharing this `packages.config`/solution-level restore, or may be vestigial references.**
- `AppManagerBase` inherits `clsBusinessBase`† (from `SAIF.BOF.Framework`/`SAIF.Framework.Core`) but this library's own code does not call the inherited rule-engine/edit-session/save machinery (`Rules`, `BeginEdit`, the inherited save path)* — a future refactor or upgrade of `clsBusinessBase`'s rule/edit/save behavior could affect concrete subclasses without this library's own code being a visible consumer, increasing the risk of an unnoticed behavioral change propagating downstream.
- `UserAccess.HasAccess` delegates AD-resource authorization decisions to `clsSecurityPrincipal.IsAuthorized` (from `SAIF.BOF.Framework.Security`) and caches the result for the life of the instance; a change in the framework's authorization semantics, or a stale cached result if underlying AD membership changes during the instance's lifetime, is a downstream risk not controlled by this library.*
- Both SQL Server and Oracle connectivity are supported at the connection-configuration level via `SAIF.BOF.Framework`'s `clsSQLDataPortal`/`clsMSOracleDataPortal` and the `Oracle.ManagedDataAccess` (ODP.NET) provider; this library authors no SQL itself, so data-access risk surfaces entirely in consuming libraries and in the referenced framework packages.
- No in-repo `<ProjectReference>` dependencies exist for this library, so its dependency surface is defined entirely by NuGet package references; downstream consumers (`SAIF.Application.Claim`, `SAIF.Application.Claim.Legal`, etc.) are not analyzed here and their consumption patterns of `AppManagerBase`/`UserAccess`/`clsServiceAppManagerBase` are unverified.**

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

## Sources
- `SAIF.Application\SAIF.Application.vbproj`
- `SAIF.Application\packages.config`
- `SAIF.Application\project.info`
- `SAIF.Application\Web.config`
- `SAIF.Application\app.config`
- `SAIF.Application\AppManagerBase.vb`
- `SAIF.Application\UserAccess.vb`
- Legends CLI RAG service (indexed documentation for `clsBusinessBase`, source library `SAIF.Framework.Core`)
